#include <head.h>

// void test_1() /*1、记录系统时间
//  每一秒向文件中写入一个系统时间
//  ​    年 月 日 时 分 秒
// */
// {
//        long int byt;
//     char buf[1024]; // 读取缓冲区
//     struct tm *local_time;
//     char *ptr=NULL;
//     FILE *fp = fopen("test_1.txt", "a+");
//     // 检查文件是否成功打开
//     if (fp == NULL)
//     {
//         perror("Error opening file");
//         return 0;
//     }
//     while (1)
//     {
//         time_t current_time;
//         time(&current_time);
//         local_time = localtime(&current_time);
//         // 将时间转换为字符串
//         strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", local_time);
//         // 打印到控制台
//         printf("%s\n", buf);
//         // 使用 fwrite 将时间字符串写入文件
// ptr=buf;
//         // fread(ptr, 1, sizeof(buf), fp);
//         fwrite(ptr, sizeof(char), strlen(buf) / sizeof(char), fp);
//         fwrite("\n", sizeof(char), 1, fp); // 写入换行符
//         // 刷新文件缓冲区，确保时间立即写入
//         fflush(fp);
//         // 等待一秒
//         sleep(1);
//     }
//     // 关闭文件
//     fclose(fp);
//     return 0;
// }

// void test_2() /*2、合并多个文件
//  要求，用户从终端输入几个文件名 则合并几个
//  ./a.out file1 file2 file3 。。。。
//  合并的数量是不确定的*/
// {
//      for (int i = 1; NULL != argv[i]; i++)
//     {
//         FILE *file1 = fopen(argv[1], "a+");
//         FOPEN_ERR(file1);
//         FILE *file2 = fopen(argv[i+1], "r+");
//         FOPEN_ERR(file2);
//         // 移动到文件头部
//         fseek(file1, 0, SEEK_END);
//         fseek(file2, 0, SEEK_SET);
//         char buf[1024]; // 临时缓冲区
//         memset(buf, 0, sizeof(buf));
//         int byte = 0;
//         while ((byte = fread(buf, 1, sizeof(buf), file2)) > 0)
//         {
//             fwrite(buf, 1, byte, file1);
//         }
//         fclose(file2);
//         fclose(file1);
//     }
// }

// void test3()/*//  3、统计文件中的字符、单词和行数
// //  字符:
// //  单词:
// //  行数:*/
// {
// char buf[1024]; // 读取缓冲区
//     long int ch;
//     int  word_count = 0, line_count = 0;
//     long int byt;
//     char *ptr=NULL;

//     FILE *file=fopen("1.txt", "r+");
//     FOPEN_ERR(file);
//     fseek(file, 0, SEEK_END);
//     ch= ftell(file);
//     fclose(file);

//     FILE *file1=fopen("1.txt", "r+");
//     OPEN_ERR(file1);
//     fseek(file1, 0, SEEK_SET);
//         while ((byt = fread(buf, 1, sizeof(buf), file)) > 0)
//         {
//         // 遍历缓冲区中的每个字符
//         for (ptr = buf; ptr < buf + byt; ptr++) {
//             // 检测单词
//             if (*ptr == ' ' || *ptr == '\n' || *ptr == '\t' || *ptr == '\0')
//              {
//                  word_count++;
//              }
//             // 检测行
//             if (*ptr == '\n') {
//                 line_count++;
//             }
//         }
    
//     }
// fclose(file1);
//     printf("字符数：%ld\n单词数：%d\n行数：%d\n", ch, word_count, line_count);

// }

int main(int argc, char const *argv[])
{
// 
    return 0;
}
